package com.xzy.repository;

import com.xzy.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;

/**
 * @author xzy.xiao
 * @date 2022/7/22  15:01
 */
@Mapper
public interface UserMapper {

    /**
     * 检索所有用户信息
     *
     * @return 所有用户信息
     */
    List<UserEntity> findAll();

    /**
     * 保存用户信息
     *
     * @param user 用户信息
     * @return 1：新增一条数据  2：编辑一条数据 0：没有改变数据
     */
    Integer save(UserEntity user);

    /**
     * 保存用户信息
     *
     * @param users 用户信息
     * @return -
     */
    Integer saveAll(@Param("users") Collection<UserEntity> users);

    /**
     * 删除所有数据
     */
    void deleteAll();

    /**
     * 保存用户信息，对敏感数据进行base64编码
     */
    Integer saveAndEncode(UserEntity user);

    /**
     * 查询用户信息，对敏感数据进行base64解密
     */
    List<UserEntity> findAllAndDecode();
}
